---
title: Node adapter examples
description: LiveStore examples built with the Node adapter for server-side environments
---

import { Card, CardGrid } from '@astrojs/starlight/components';
import { Image } from 'astro:assets';
import { nodeExamples, getExampleDemoLinks } from '../../../data/examples.ts';
import { getBranchName } from '../../../data/data.ts';

# Node Adapter Examples

Examples using `@livestore/adapter-node` for Node.js server-side applications.

<CardGrid>
{nodeExamples.map((example) => {
  const { url, label } = getExampleDemoLinks(example);

  return (
    <Card title={example.title} key={example.title}>
    {example.image ? (
      <Image src={example.image.url} width={example.image.width} height={example.image.height} alt={`${example.title} application interface`} />
    ) : (
      <div style="background: linear-gradient(135deg, #1f2937 0%, #374151 100%); height: 200px; display: flex; align-items: center; justify-content: center; color: #9ca3af; font-size: 14px; border-radius: 8px;">
        Screenshot coming soon
      </div>
    )}
    <p>{example.description}</p>
    <p><strong>Technologies:</strong> {example.technologies.join(' • ')}</p>
    {example.syncProvider && (
      <p><strong>Sync Provider:</strong> {example.syncProvider}</p>
    )}
    <div style="margin-top: auto; padding-top: 1rem;">
      {url && (
        <p style="margin: 0 0 0.5rem 0;"><a href={url} target="_blank" rel="noopener noreferrer">{label}</a></p>
      )}
      <p style="margin: 0;"><a href={example.sourceUrl} target="_blank" rel="noopener noreferrer">View Source →</a></p>
    </div>
    </Card>
  );
})}
</CardGrid>

## Node Adapter

- Uses native Node.js SQLite with file system storage
- Stores SQLite files directly on disk (default: current directory)
- Supports single-threaded or worker thread modes
- WebSocket connections for sync and devtools integration

---
<a href={`https://github.com/livestorejs/livestore/tree/${getBranchName()}/examples`}>View all examples on GitHub →</a>
